package aventuraespacial;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;


public class Vida extends Poder
{
	
	/*************************  CONSTANTES DE LA CLASE  ****************************/
	
	static final int ANCHO_PODER=19;
	static final int ALTO_PODER=22;
    static final String NOMBRE_VIDA="vida.png";

	/*************************  CONSTRUCTOR DE VIDA  ****************************/   
	
	
	public Vida(double x, double y, double velocidad,double angulo ){
        super(x,y,velocidad,angulo);
        this.setImagen(cargarImagen(NOMBRE_VIDA));
    }	
    
	/*************************  IMPLEMENTACION  DE METODOS ABSTRACTOS ************************/
    
    
    
    @Override
    public void asignarPoder(Nave nave) {
        
        nave.setVidas(nave.getVidas()+1);
    }
    
    
    @Override
    public boolean fueraDePantalla() {
    	        
    	if (this.x<(0) || this.x> (EspacioExterior.ANCHO_PANTALLA) ) return true;
        else if ( this.y< (0) || this.y> (EspacioExterior.ALTO_PANTALLA)) return true;
            else return false;
    }

	@Override
	public Rectangle getBordes() {
		int mitadAncho= (int) (ANCHO_PODER/2 );
		int mitadAlto=(int) (ALTO_PODER/2) ;
		return new Rectangle((int)this.getX()-mitadAncho,(int)this.getY()-mitadAlto,ANCHO_PODER,ALTO_PODER);
	}

	@Override
	public void dibujar(Graphics2D g) {
		AffineTransform identidad= new AffineTransform();
		AffineTransform trans= new AffineTransform();
		
		if(ObjetoEspacial.isBordesActivados()){
			g.setTransform(identidad);
			g.setColor(Color.WHITE);
			g.draw(getBordes());
		}
		trans.setTransform(identidad);
		trans.translate(x-(ANCHO_PODER/2), y-(ALTO_PODER/2));		
		g.drawImage(getImagen(),trans,null);
		
	}
}
